home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 October: Mac OS SDK / Dev.CD Oct 00 SDK1.toast / Development Kits / Cross Platform / QuickTime 4.1.2 Windows SDK / CIncludes / GXFonts.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-04-12  |  10.3 KB  |  348 lines  |  [TEXT/R*ch]

  1. /*
  2.      File:        GXFonts.h
  3.  
  4.      Contains:    QuickDraw GX font routine interfaces.
  5.  
  6.      Version:    Technology:    Quickdraw GX 1.1
  7.                  Release:    QuickTime 4.1
  8.  
  9.      Copyright:    (c) 1994-1999 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __GXFONTS__
  18. #define __GXFONTS__
  19.  
  20. #ifndef __CONDITIONALMACROS__
  21.     #include <ConditionalMacros.h>
  22. #endif
  23.  
  24. #ifndef __GXMATH__
  25.     #include <GXMath.h>
  26. #endif
  27.  
  28. #ifndef __GXTYPES__
  29.     #include <GXTypes.h>
  30. #endif
  31.  
  32. #ifndef __SCALERSTREAMTYPES__
  33.     #include <ScalerStreamTypes.h>
  34. #endif
  35.  
  36.  
  37.  
  38.  
  39. #if PRAGMA_ONCE
  40. #pragma once
  41. #endif
  42.  
  43. #ifdef __cplusplus
  44. extern "C" {
  45. #endif
  46.  
  47. #if PRAGMA_IMPORT
  48. #pragma import on
  49. #endif
  50.  
  51. #if PRAGMA_STRUCT_ALIGN
  52.     #pragma options align=mac68k
  53. #elif PRAGMA_STRUCT_PACKPUSH
  54.     #pragma pack(push, 2)
  55. #elif PRAGMA_STRUCT_PACK
  56.     #pragma pack(2)
  57. #endif
  58.  
  59. #if defined(__MWERKS__) && TARGET_CPU_68K
  60.     #pragma push
  61.     #pragma pointers_in_D0
  62. #endif
  63.  
  64. EXTERN_API_C( gxFont )
  65. GXNewFont                        (gxFontStorageTag         storage,
  66.                                  gxFontStorageReference  reference,
  67.                                  gxFontAttribute         attributes)                            THREEWORDINLINE(0x303C, 0x0201, 0xA832);
  68.  
  69. EXTERN_API_C( gxFontStorageTag )
  70. GXGetFont                        (gxFont                 fontID,
  71.                                  gxFontStorageReference * reference,
  72.                                  gxFontAttribute *        attributes)                            THREEWORDINLINE(0x303C, 0x0202, 0xA832);
  73.  
  74. EXTERN_API_C( gxFont )
  75. GXFindFont                        (gxFontStorageTag         storage,
  76.                                  gxFontStorageReference  reference,
  77.                                  gxFontAttribute *        attributes)                            THREEWORDINLINE(0x303C, 0x0203, 0xA832);
  78.  
  79. EXTERN_API_C( void )
  80. GXSetFont                        (gxFont                 fontID,
  81.                                  gxFontStorageTag         storage,
  82.                                  gxFontStorageReference  reference,
  83.                                  gxFontAttribute         attributes)                            THREEWORDINLINE(0x303C, 0x0204, 0xA832);
  84.  
  85. EXTERN_API_C( void )
  86. GXDisposeFont                    (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0205, 0xA832);
  87.  
  88. EXTERN_API_C( void )
  89. GXChangedFont                    (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0206, 0xA832);
  90.  
  91. EXTERN_API_C( gxFontFormatTag )
  92. GXGetFontFormat                    (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0207, 0xA832);
  93.  
  94. EXTERN_API_C( gxFont )
  95. GXGetDefaultFont                (void)                                                        THREEWORDINLINE(0x303C, 0x0208, 0xA832);
  96.  
  97. EXTERN_API_C( gxFont )
  98. GXSetDefaultFont                (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0209, 0xA832);
  99.  
  100. EXTERN_API_C( long )
  101. GXFindFonts                        (gxFont                 familyID,
  102.                                  gxFontName             name,
  103.                                  gxFontPlatform         platform,
  104.                                  gxFontScript             script,
  105.                                  gxFontLanguage         language,
  106.                                  long                     length,
  107.                                  const unsigned char     text[],
  108.                                  long                     index,
  109.                                  long                     count,
  110.                                  gxFont                 fonts[])                                THREEWORDINLINE(0x303C, 0x020A, 0xA832);
  111.  
  112. EXTERN_API_C( long )
  113. GXCountFontGlyphs                (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x020B, 0xA832);
  114.  
  115. EXTERN_API_C( long )
  116. GXCountFontTables                (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x020C, 0xA832);
  117.  
  118. EXTERN_API_C( long )
  119. GXGetFontTable                    (gxFont                 fontID,
  120.                                  long                     index,
  121.                                  void *                    tableData,
  122.                                  gxFontTableTag *        tableTag)                            THREEWORDINLINE(0x303C, 0x020D, 0xA832);
  123.  
  124. EXTERN_API_C( long )
  125. GXFindFontTable                    (gxFont                 fontID,
  126.                                  gxFontTableTag         tableTag,
  127.                                  void *                    tableData,
  128.                                  long *                    index)                                THREEWORDINLINE(0x303C, 0x020E, 0xA832);
  129.  
  130. EXTERN_API_C( long )
  131. GXGetFontTableParts                (gxFont                 fontID,
  132.                                  long                     index,
  133.                                  long                     offset,
  134.                                  long                     length,
  135.                                  void *                    tableData,
  136.                                  gxFontTableTag *        tableTag)                            THREEWORDINLINE(0x303C, 0x020F, 0xA832);
  137.  
  138. EXTERN_API_C( long )
  139. GXFindFontTableParts            (gxFont                 fontID,
  140.                                  gxFontTableTag         tableTag,
  141.                                  long                     offset,
  142.                                  long                     length,
  143.                                  void *                    tableData,
  144.                                  long *                    index)                                THREEWORDINLINE(0x303C, 0x0210, 0xA832);
  145.  
  146. EXTERN_API_C( long )
  147. GXSetFontTable                    (gxFont                 fontID,
  148.                                  long                     index,
  149.                                  gxFontTableTag         tableTag,
  150.                                  long                     length,
  151.                                  const void *            tableData)                            THREEWORDINLINE(0x303C, 0x0211, 0xA832);
  152.  
  153. EXTERN_API_C( long )
  154. GXSetFontTableParts                (gxFont                 fontID,
  155.                                  long                     index,
  156.                                  gxFontTableTag         tableTag,
  157.                                  long                     offset,
  158.                                  long                     oldLength,
  159.                                  long                     newLength,
  160.                                  const void *            tableData)                            THREEWORDINLINE(0x303C, 0x0212, 0xA832);
  161.  
  162. EXTERN_API_C( long )
  163. GXDeleteFontTable                (gxFont                 fontID,
  164.                                  long                     index,
  165.                                  gxFontTableTag         tableTag)                            THREEWORDINLINE(0x303C, 0x0213, 0xA832);
  166.  
  167. EXTERN_API_C( long )
  168. GXCountFontNames                (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0214, 0xA832);
  169.  
  170. EXTERN_API_C( long )
  171. GXGetFontName                    (gxFont                 fontID,
  172.                                  long                     index,
  173.                                  gxFontName *            name,
  174.                                  gxFontPlatform *        platform,
  175.                                  gxFontScript *            script,
  176.                                  gxFontLanguage *        language,
  177.                                  unsigned char             text[])                                THREEWORDINLINE(0x303C, 0x0215, 0xA832);
  178.  
  179. EXTERN_API_C( long )
  180. GXFindFontName                    (gxFont                 fontID,
  181.                                  gxFontName             name,
  182.                                  gxFontPlatform         platform,
  183.                                  gxFontScript             script,
  184.                                  gxFontLanguage         language,
  185.                                  unsigned char             text[],
  186.                                  long *                    index)                                THREEWORDINLINE(0x303C, 0x0216, 0xA832);
  187.  
  188. EXTERN_API_C( long )
  189. GXSetFontName                    (gxFont                 fontID,
  190.                                  gxFontName             name,
  191.                                  gxFontPlatform         platform,
  192.                                  gxFontScript             script,
  193.                                  gxFontLanguage         language,
  194.                                  long                     length,
  195.                                  const unsigned char     text[])                                THREEWORDINLINE(0x303C, 0x0217, 0xA832);
  196.  
  197. EXTERN_API_C( long )
  198. GXDeleteFontName                (gxFont                 fontID,
  199.                                  long                     index,
  200.                                  gxFontName             name,
  201.                                  gxFontPlatform         platform,
  202.                                  gxFontScript             script,
  203.                                  gxFontLanguage         language)                            THREEWORDINLINE(0x303C, 0x0218, 0xA832);
  204.  
  205. EXTERN_API_C( gxFontName )
  206. GXNewFontNameID                    (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0219, 0xA832);
  207.  
  208. EXTERN_API_C( long )
  209. GXCountFontEncodings            (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x021A, 0xA832);
  210.  
  211. EXTERN_API_C( gxFontPlatform )
  212. GXGetFontEncoding                (gxFont                 fontID,
  213.                                  long                     index,
  214.                                  gxFontScript *            script,
  215.                                  gxFontLanguage *        language)                            THREEWORDINLINE(0x303C, 0x021B, 0xA832);
  216.  
  217. EXTERN_API_C( long )
  218. GXFindFontEncoding                (gxFont                 fontID,
  219.                                  gxFontPlatform         platform,
  220.                                  gxFontScript             script,
  221.                                  gxFontLanguage         language)                            THREEWORDINLINE(0x303C, 0x021C, 0xA832);
  222.  
  223. EXTERN_API_C( long )
  224. GXApplyFontEncoding                (gxFont                 fontID,
  225.                                  long                     index,
  226.                                  long *                    length,
  227.                                  const unsigned char     text[],
  228.                                  long                     count,
  229.                                  unsigned short         glyphs[],
  230.                                  char                     was16Bit[])                            THREEWORDINLINE(0x303C, 0x021D, 0xA832);
  231.  
  232. EXTERN_API_C( long )
  233. GXCountFontVariations            (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x021E, 0xA832);
  234.  
  235. EXTERN_API_C( long )
  236. GXFindFontVariation                (gxFont                 fontID,
  237.                                  gxFontVariationTag     variationTag,
  238.                                  Fixed *                minValue,
  239.                                  Fixed *                defaultValue,
  240.                                  Fixed *                maxValue,
  241.                                  gxFontName *            name)                                THREEWORDINLINE(0x303C, 0x021F, 0xA832);
  242.  
  243. EXTERN_API_C( gxFontVariationTag )
  244. GXGetFontVariation                (gxFont                 fontID,
  245.                                  long                     index,
  246.                                  Fixed *                minValue,
  247.                                  Fixed *                defaultValue,
  248.                                  Fixed *                maxValue,
  249.                                  gxFontName *            name)                                THREEWORDINLINE(0x303C, 0x0220, 0xA832);
  250.  
  251. EXTERN_API_C( long )
  252. GXCountFontInstances            (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0221, 0xA832);
  253.  
  254. EXTERN_API_C( gxFontName )
  255. GXGetFontInstance                (gxFont                 fontID,
  256.                                  long                     index,
  257.                                  gxFontVariation         variation[])                            THREEWORDINLINE(0x303C, 0x0222, 0xA832);
  258.  
  259. EXTERN_API_C( long )
  260. GXSetFontInstance                (gxFont                 fontID,
  261.                                  long                     index,
  262.                                  gxFontName             name,
  263.                                  const gxFontVariation     variation[])                            THREEWORDINLINE(0x303C, 0x0223, 0xA832);
  264.  
  265. EXTERN_API_C( long )
  266. GXDeleteFontInstance            (gxFont                 fontID,
  267.                                  long                     index,
  268.                                  gxFontName             name)                                THREEWORDINLINE(0x303C, 0x0224, 0xA832);
  269.  
  270. EXTERN_API_C( long )
  271. GXCountFontDescriptors            (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0225, 0xA832);
  272.  
  273. EXTERN_API_C( gxFontDescriptorTag )
  274. GXGetFontDescriptor                (gxFont                 fontID,
  275.                                  long                     index,
  276.                                  Fixed *                descriptorValue)                    THREEWORDINLINE(0x303C, 0x0226, 0xA832);
  277.  
  278. EXTERN_API_C( long )
  279. GXFindFontDescriptor            (gxFont                 fontID,
  280.                                  gxFontDescriptorTag     descriptorTag,
  281.                                  Fixed *                descriptorValue)                    THREEWORDINLINE(0x303C, 0x0227, 0xA832);
  282.  
  283. EXTERN_API_C( long )
  284. GXSetFontDescriptor                (gxFont                 fontID,
  285.                                  long                     index,
  286.                                  gxFontDescriptorTag     descriptorTag,
  287.                                  Fixed                     descriptorValue)                    THREEWORDINLINE(0x303C, 0x0228, 0xA832);
  288.  
  289. EXTERN_API_C( long )
  290. GXDeleteFontDescriptor            (gxFont                 fontID,
  291.                                  long                     index,
  292.                                  gxFontDescriptorTag     descriptorTag)                        THREEWORDINLINE(0x303C, 0x0229, 0xA832);
  293.  
  294. EXTERN_API_C( long )
  295. GXCountFontFeatures                (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x022A, 0xA832);
  296.  
  297. EXTERN_API_C( gxFontName )
  298. GXGetFontFeature                (gxFont                 fontID,
  299.                                  long                     index,
  300.                                  gxFontFeatureFlag *    flags,
  301.                                  long *                    settingCount,
  302.                                  gxFontFeatureSetting     settings[],
  303.                                  gxFontFeature *        feature)                            THREEWORDINLINE(0x303C, 0x022B, 0xA832);
  304.  
  305. EXTERN_API_C( gxFontName )
  306. GXFindFontFeature                (gxFont                 fontID,
  307.                                  gxFontFeature             feature,
  308.                                  gxFontFeatureFlag *    flags,
  309.                                  long *                    settingCount,
  310.                                  gxFontFeatureSetting     settings[],
  311.                                  long *                    index)                                THREEWORDINLINE(0x303C, 0x022C, 0xA832);
  312.  
  313. EXTERN_API_C( long )
  314. GXGetFontDefaultFeatures        (gxFont                 fontID,
  315.                                  gxRunFeature             features[])                            THREEWORDINLINE(0x303C, 0x0274, 0xA832);
  316.  
  317. EXTERN_API_C( void )
  318. GXFlattenFont                    (gxFont                 source,
  319.                                  scalerStream *            stream,
  320.                                  gxSpoolBlock *            block)                                THREEWORDINLINE(0x303C, 0x022D, 0xA832);
  321.  
  322.  
  323.  
  324. #if defined(__MWERKS__) && TARGET_CPU_68K
  325.     #pragma pop
  326. #endif
  327.  
  328. #if PRAGMA_STRUCT_ALIGN
  329.     #pragma options align=reset
  330. #elif PRAGMA_STRUCT_PACKPUSH
  331.     #pragma pack(pop)
  332. #elif PRAGMA_STRUCT_PACK
  333.     #pragma pack()
  334. #endif
  335.  
  336. #ifdef PRAGMA_IMPORT_OFF
  337. #pragma import off
  338. #elif PRAGMA_IMPORT
  339. #pragma import reset
  340. #endif
  341.  
  342. #ifdef __cplusplus
  343. }
  344. #endif
  345.  
  346. #endif /* __GXFONTS__ */
  347.  
  348.